home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / util / rexx / cdmp.lha / cdmp.dok next >
Text File  |  2000-11-25  |  32KB  |  738 lines

  1. Dokumentation zu cdmp.rx v1.2  J.Klingele 18.11.2000
  2.  
  3.  
  4. Beschreibung:
  5. -------------
  6.  
  7. cdmp.rx  -  Liest mittels 'cdda' Tracks von Audio-CD's, speichert sie auf
  8.             Festplatte und erzeugt daraus mittels 'Lame' oder 'Pegase' Files im
  9.             mp3-Format  (MPEG1 LayerIII bzw. LayerII)
  10.  
  11. Usage: [rx] cdmp.rx (datenfile)
  12.  
  13. Autor    - Jürgen Klingele - jklingele@gmx.de
  14.  
  15.  
  16. Disclaimer:
  17. -----------
  18.  
  19. Für eventuelle Schäden egal welcher Art die direkt oder indirekt durch den
  20. Gebrauch von cdmp.rx hervorgerufen werden übernimmt der Autor keinerlei
  21. Haftung.
  22. Das Verhalten und die Entwicklung der von Drittherstellern verwendeten oder
  23. erwähnten Software unterliegt nicht der Einflussnahme und Zuständigkeit des
  24. Autors.
  25.  
  26.  
  27. Lizenz:
  28. -------
  29.  
  30. Das Skript und zugehörende Dokumentation sind Freeware und dürfen in
  31. unveränderter Form und nur gemeinsam beliebig weitergegeben werden.
  32. Änderungen und Anpassungen zum privaten Gebrauch sind ausdrücklich
  33. gestattet.
  34. Weitergabe von Skript und Dokumentation in veränderter Form bedürfen der
  35. Genehmigung des Autors.
  36.  
  37.  
  38. Voraussetzungen:
  39. ----------------
  40.  
  41. - Die Programme cdda (Michael van Elst) und Lame (© Mark Taylor) oder
  42.   Pegase (© Didier Levet) müssen (korrekt) installiert und im DOS-Suchpfad
  43.   verfügbar sein.
  44.   > getestet wurde mit cdda V1.64, Lame V3.20 und Pegase V1.8f
  45.  
  46. - CD-Rom und Kontroller die fähig sind Audio-Daten über das IDE oder
  47.   SCSI-Interface zu übertragen.
  48.  
  49. - für einen 4 min. Titel werden ~42MB für das CD-File und je nach mp3
  50.   Komprimierung ~2-8 MB für das mp3-File benötigt. Genügend freier Platz
  51.   auf einem Laufwerk ist also notwendig.
  52.  
  53. - designed und getestet wurde das Skript auf einen A4000 mit MKII060/50
  54.   Auf Rechnern mit kleineren Prozessoren macht die Erzeugung von mp3 keinen
  55.   rechten Sinn, dauert einfach zu lange. (Manche denken das allerdings auch
  56.   vom 060er) 8-)
  57.   Zum Abspeichern der Audio-files kann es natürlich immer verwendet werden,
  58.   sollte dafür Bedarf bestehen.
  59.   Ob PPC-User Bedarf für dieses Skript weiss ich nicht, die mp3-Erzeugung
  60.   passiert da sowieso in quasi Realtime.
  61.  
  62. - cdda muss beim Einlesen auf das audio-device und das entsprechende CD-Rom
  63.   device zugreifen. Manche Software-CD-Player sperren aber sobald sie
  64.   gestartet sind diese Resourcen, also auch dann wenn sie keine Titel
  65.   abspielen. Damit ist für 'cdmp' eine Bearbeitung der CD natürlich nicht
  66.   möglich.
  67.   Abhilfe schafft hier nur den Player zu beenden oder einen anderen zu
  68.   verwenden. (->Utilities/SongPlayer)
  69.  
  70.  
  71. Installation:
  72. -------------
  73.  
  74. - irgendwohin kopieren, wo man es wieder findet. Es empfiehlt sich natürlich
  75.   das Skript irgendwo im Suchpfad unterzubringen, um sich die Pfadangabe zu
  76.   sparen. Das Script-Flag sollte gesetzt sein.
  77.  
  78. - evtentuell die am Skriptanfang befindlichen Parameter anpassen.
  79.  
  80.   Wichtig dabei sind eigentlich zu Anfang nur
  81.    1. die Pfade zum audio-, mp3- und, falls vorhanden, dem
  82.       CDID-Verzeichnis.
  83.       Standardmässig werden die eingelesen Audiodateien (und die
  84.       entsprechenden Datenfiles) in CD-A: und die mp3-Dateien unter MP3:
  85.       abgespeichert. CDID-Daten werden in CDID: gesucht.
  86.       Also entweder diese ->Parameter im Skript anpassen oder ein
  87.       entsprechendes Assign anlegen. (->Utilities/Assignwedge)
  88.  
  89.       > in CDID-Dateien werden die Daten gespeichert die nicht auf der
  90.         CD-Rom enthalten sind. Normalerweise sind das Interpret(en),
  91.         CD-Titel und die einzelnen Songtitel.
  92.         Ich persönlich halte das ID-System in dieser Form für ziemlich
  93.         eingeschränkt. Ohne CD sind die gespeicherten Daten relativ nutzlos.
  94.         Man hätte wenigstens andere Daten wie Spielzeit Erscheinungsdatum
  95.         usw. integrieren können. Da aber nun anscheinend jeder dieses
  96.         Minimalsystem akzeptiert und damit arbeitet, tut 'cdmp' das eben
  97.         auch. 8-(
  98.  
  99.    2. Anpassen des 'plan' Parameters auf das entsprechende CD-ROM Laufwerk.
  100.       Näheres hierzu unter ->Parameter und in der cdda-Anleitung.
  101.  
  102.    3. Ausahl des gewünschten Encoders und anpassen der entsprechenden
  103.       Optionen.
  104.  
  105. Starten:
  106. --------
  107.  
  108. Gestartet wird über eine Shell oder das Workbenchmenu 'Befehl ausführen'.
  109. Entweder nur mit 'cdmp.rx' oder mit 'cdmp.rx datenfile' wobei 'datenfile'
  110. der Name einer zuvor mit 'cdmp' erzeugten Parameterdatei ist (mehr dazu
  111. weiter unten ->A.4).
  112. Sollte das Script-Flag von 'cdmp.rx' nicht gesetzt sein muss beim Aufruf
  113. jeweils noch 'rx' vorangestellt werden.
  114. Sollte das Skript nicht im Suchpfad zu finden sein muss der komplette pfad
  115. mit eingegeben werden.
  116.  
  117. Auch der Start über die Workbench mit Icon ist möglich (Projekticon,
  118. Standardprogramm rx). Dabei ist die Übergabe eines Datenfiles aber nicht
  119. möglich.
  120.  
  121.  
  122. Bedienung:
  123. ----------
  124.  
  125. Vorab: Das Skript lässt sich jederzeit durch 'Ctrl-C' (und evt. Return wenn
  126. auf Eingaben gewartet wird) abbrechen.
  127.  
  128. A) Gehen wir es mal der Reihe nach an und stellen uns vor, dass noch nie mit
  129.    'cdmp' gearbeitet wurde. Der Ablauf gestaltet sich dann folgendermassen:
  130.  
  131.  
  132.  1. CD einlegen und 'cdmp.rx' starten.
  133.  
  134.     'cdmp' liest jetzt mit Hilfe von 'cdda' das Inhaltsverzeichnis der
  135.     eingelegten CD ein und zeigt eine Übersicht an. Sollte eine CDID-Datei
  136.     zu dieser CD vorhanden sein, wird in der Übersicht Interpret, CD-Titel
  137.     und die einzelnen Songtitel mit Spieldauer dargestellt. Existiert keine
  138.     CDID werden nur Titelnummer und Titellänge angezeigt.
  139.  
  140.     Wenn beim Einlesen ein Fehler auftritt, wird 'cdmp' nach entsprechender
  141.     Fehlermeldung beendet. Dies kann passieren weil z.B. keine, oder eine
  142.     Daten-CD im Laufwerk liegt, oder audio.device bzw. CD-ROM von anderen
  143.     Programmen blockiert wird.
  144.  
  145.     > damit 'cdda' richtig funktioniert müssen die env: Variablen
  146.       CDDA-UNIT und CDDA-DEVICE von 'cdda' natürlich korrekt gesetzt sein.
  147.  
  148.  
  149.  2. jetzt können die gewünschten Titel durch Angabe der Titelnummern einzeln
  150.     eingegeben werden. Die Reihenfolge ist dabei beliebig. Es erfolgt eine
  151.     Kontrolle auf Doppeleingaben und Überschreitung der Gesamttitelzahl.
  152.  
  153.     'Return' ohne Eingabe einer Titelnummer beendet diese Abfrage.
  154.  
  155.     Durch Eingabe von 'b' (immer ohne ' natürlich) wird der jeweils letzte
  156.     eingegebene Titel wieder gelöscht.
  157.  
  158.     > jedesmal wenn 'cdmp' etwas wissen will stehen hinter dem Fragetext in
  159.       Klammern die möglichen Eingaben. Grossgeschriebene Texte zeigen dabei
  160.       die Default-Antwort an. Etwa bedeutet (j/N) das nur die Eingabe von
  161.       'j' auch Ja bedeutet. Alles andere wird als Nein interpretiert. Bei
  162.       der Eingabe selbst ist Gross- oder Kleinschreibung egal. Alle diese
  163.       Eingaben werden sowieso als Grossbuchstaben ausgewertet.
  164.  
  165.     > nach jedem eingegebenen Titel wird der insgesamt benötigte Platz auf
  166.       der Festplatte angezeigt. Dies bezieht sich nur auf die Audio-files,
  167.       die Grösse der mp3-files wird hier nicht berücksichtigt. Es handelt
  168.       sich auch nur um einen circa-Wert. Also bitte die Platte nicht auf's
  169.       letzte MegaByte ausreizen.
  170.  
  171.       Sollte der angezeigte Wert, warum auch immer, überhaupt nicht
  172.       stimmen kann der Faktor der zum Errechnen der Dateigrösse benutzt
  173.       wird in den ->Parametern angepasst werden.
  174.  
  175.     > es gibt hier noch eine andere 'versteckte' Eingabemöglichkeit. Aber
  176.       mehr dazu später im Kapitel ->Leadout.
  177.  
  178.  
  179.  3. Jetzt erfolgt eine Abfrage ob auch die entsprechenden mp3-Files erzeugt
  180.     werden sollen.
  181.  
  182.     - Wer das nicht nicht will, weil er nur die Audiodaten benötigt oder
  183.       manuell weiterarbeiten möchte, gibt hier 'n' ein.
  184.       Dann werden später nur die entsprechenden Audio-files auf die Platte
  185.       kopiert. Der benutzte Dateiname entspricht dabei bei CD's mit CDID
  186.       dem Titel (der zuvor eventuell an die DOS-Spielregeln angepasst wurde),
  187.       bei CD's ohne CDID wird die Titelnummer verwendet, d.h. Titel1, Titel2.
  188.  
  189.       > Achtung, bei Titeln ohne CDID-Namen werden die Audio-Dateien beim
  190.         Bearbeiten der nächsten CD ohne CDID wegen gleicher Namen wieder
  191.         überschrieben. Wenn sie also weiter gebraucht werden, muss man sie
  192.         manuell umbenennen oder in ein anderes Verzeichnis verschieben.
  193.  
  194.     - Wer mp3-Dateien erzeugen will, gibt hier logischerweise 'j' ein.
  195.       Bei CD's mit vorhandener CDID-Datei wird der mp3-Name automatisch aus
  196.       dem Songtitel generiert.
  197.       Bei CD' ohne CDID müssen nun die entsprechenden Dateinnamen ohne
  198.       Extension eingegeben werden. Die Abfrage erfolgt für jeden der zuvor
  199.       eingegebenen Titel einzeln in derselben Reihenfolge.
  200.       Hierbei wird die Gross/Kleinschreibung so übernommen wie der Name
  201.       eingegeben wird.
  202.       Sinn macht es auch hier als Dateinamen die Liedtitel zu benutzen.
  203.       Als Default-Dateiname ist wieder die Titelnummer voreingetragen. Als
  204.       Extension wird standardmässig '.mp3' benutzt. Dies ergibt die Namen:
  205.       Titel1.mp3, Titel2.mp3 usw.
  206.  
  207.       > Diese abgespeicherten Audio-Dateien werden normalerweise nach
  208.         Erzeugen der mp3-files wieder gelöscht. Sollen die Audio-files
  209.         erhalten bleiben, kann man das in den ->Parametern abschalten.
  210.  
  211.       > 'cdmp' verwendet die (Standard-)Extension '.mp3'. Ich halte dies
  212.         für sinnvoller als das auch verwendete '.mpg' um Verwechslungen mit
  213.         Videos im MPEG-Format, die dieselbe Kennzeichnung verwenden, zu
  214.         verhindern.
  215.         Wer aber '.mpg' oder etwas anderes benutzen möchte/muss, kann die
  216.         Extension natürlich in den ->Parametern umstellen.
  217.  
  218.       > Es ist es möglich die Namen mit Leerzeichen einzugeben. Bei der
  219.         späteren Arbeit mit diesen Titel ohne 'cdmp' können die Leerzeichen
  220.         in den Dateinamen aber recht störend wirken, da immer Anführungs-
  221.         zeichen um Pfad und Name nötig sind. Daher werden Leerzeichen bei
  222.         der Eingabe standardmässig durch Unterstriche ersetzt. z.B.: Aus
  223.         'Dies ist ein Titel' wird 'Dies_ist_ein_Titel'.
  224.  
  225.         Wer das nicht möchte und auf den Leerzeichen besteht, kann das in
  226.         den ->Parametern abschalten, so dass die eingegebenen Namen
  227.         unverändert benutzt werden (sofern möglich s.u.).
  228.  
  229.       > Desweiteren werden auch alle Zeichen die mit den Namensregeln des
  230.         Amiga-Dos kollidieren durch Unterstriche ersetzt. Diese Zeichen sind
  231.         ~%#?<>|()[]":
  232.  
  233.       > Die maximale Länge des mp3-Namens ist abhängig vom verwendeten
  234.         Filesystem und dem entsprechenden ->Parameter max_name_len
  235.         Ist der Name länger als max_name_len abzüglich der Länge der
  236.         Extension, wird der eingegebene Name automatisch gekürzt.
  237.  
  238.       > wird der Name aus obigen Gründen geändert so wird der angepasste
  239.         Dateiname mit entsprechender Meldung nochmal angezeigt.
  240.  
  241.       > es ist hier auch möglich dem eigentlichen Dateinamen noch eine
  242.         zusätzliche Pfadangabe voranzustellen. Dieser Pfad wird aber immer
  243.         unterhalb des MP3-Verzeichnisses eingefügt, darf also kein Laufwerk
  244.         sein und keinen führenden Schrägstrich enthalten. Die zusätzliche
  245.         Pfadangabe und der Dateiname werden wie ein Dateiname behandelt und
  246.         dürfen deshalb auch nicht länger wie die maximale Dateinamenlänge
  247.         sein. Achtung, das angegebene Verzeichnis MUSS auch existieren sonst
  248.         verweigert lame die Arbeit.
  249.  
  250.         Als Eingaben erlaubt sind z.B.:
  251.           Ein_Titel          wird zu    MP3:Ein_Titel.mp3
  252.           noch ein titel     wird zu    MP3:noch_ein_titel.mp3
  253.           test/titel.test~1  wird zu    MP3:test/titel.test_1.mp3
  254.  
  255.         nicht erlaubt sind:
  256.           ein-titel/
  257.           /ein_titel
  258.           test:titel
  259.  
  260.         (Standardparameter vorausgesetzt)
  261.  
  262.  
  263.  4. weiter geht's mit der Frage ob mit der Arbeit gleich begonnen wird,
  264.     oder die Daten zur späteren Nutzung abgespeichert werden sollen.
  265.  
  266.     - Wird diese Frage mit 'g' beantwortet beginnt die eigentliche Arbeit
  267.       von 'cdmp'. Ab jetzt werden vom Anwender keine Eingaben mehr verlangt.
  268.       Wer will kann sich jetzt mit einer Kanne Kaffee zurücklehnen und die
  269.       nächsten Stunden der Arbeit von 'cdmp' zuschauen. ;-)
  270.  
  271.       > zuerst werden mit Hilfe von 'cdda' sämtliche Audio-files auf
  272.         Festplatte kopiert. Sobald dies abgeschlossen ist, werden CD und
  273.         CD-laufwerk nicht mehr benötigt und können wieder andersweitig
  274.         verwendet werden. Hierzu erfolgt eine entsprechende Meldung.
  275.  
  276.         - wurde die Frage zur mp3-Erzeugung mit Nein beantwortet beendet
  277.           sich 'cdmp' hier nach dem Speichern der Audiodateien.
  278.  
  279.       > Als nächstes erfolgt die Erzeugung der mp3-files. Der Parameterstring
  280.         der 'Lame' oder 'Pegase' steuert, bzw. der Mode mit dem die
  281.         mp3-Dateien erzeugt werden, wird über ->Parameter festgelegt.
  282.  
  283.         Standardmässig werden mp3-files mit fester Bitrate von 160kbs
  284.         erzeugt. (Dies dauert auf dem 68060 immer noch um eine Stunde.
  285.         Variable Bitraten erzeugen zwar kürzere (und vielleicht bessere)
  286.         Files, brauchen aber auch einiges (ca. 3x) länger. Kleinere Bitraten
  287.         sind m.E., ausser zum Testen, aufgrund der zum Teil schlechten
  288.         Qualität nicht empfehlenswert. (Aber das kann jeder halten wie er
  289.         will.)
  290.  
  291.         Wie erwähnt wird jeweils nachdem das mp3-file erzeugt wurde, die
  292.         entsprechende  Audio-datei gelöscht. Dies lässt sich über
  293.         ->Parameter unterbinden so dass diese Datei erhalten bleibt.
  294.  
  295.         Sobald alle mp3-Dateien erzeugt wurden, wird 'cdmp' beendet.
  296.  
  297.     - lautet die Antwort 's' wird als nächstes ein Dateiname abgefragt unter
  298.       dem die, bis jetzt gemachten, Angaben, im Verzeichnis der Audio-Dateien
  299.       abgespeichert werden. Auch diesmal erfolgt eine Kontrolle des Namens
  300.       auf DOS-Konformität. Dieser Name wird bei vorhandener CDID mit dem
  301.       CD-Titel bzw. ohne CDID mit einem einstellbaren (-> Parameter)
  302.       Defaultnamen vorbelegt und braucht ggf. nur noch bestätigt zu werden.
  303.  
  304.       Nach dem Abspeichern der Daten wird 'cdmp' beendet.
  305.  
  306.       > Vielleicht fragt sich jetzt jemand wozu man das Ganze. Wie erwähnt
  307.         dauert das Erzeugen der mp3's mit einem 68060 ziemlich lange. Wenn
  308.         der Rechner in einer halben Stunde sowieso abschaltet wird, macht es
  309.         keinen Sinn die Bearbeitung gleich zu starten, zumal die Bearbeitung
  310.         unterbrochener mp3-files leider nicht fortgesetzt werden kann.
  311.         Man kann aber alles soweit vorbereiten und die Daten abspeichern
  312.         lassen. Bei der nächsten Gelegenheit kann dieses Datenfile dann als
  313.         Parameter beim Programmstart übergeben und abgearbeitet werden.
  314.         Natürlich können auch, während 'cdmp' an den mp3-files einer CD
  315.         arbeitet, bereits die nächste(n) CD('s) vorbereitet werden.
  316.  
  317.       
  318. B. Somit kommen wir zur zweiten Möglichkeit 'cdmp' zu starten, nämlich mit
  319.    Übergabe eines Dateinamens. (s.o.->Starten). Richtig, dieser Dateiname ist
  320.    genau der Name der bei der Auswahl zur späteren Bearbeitung unter ->A.4
  321.    angegeben wurde.
  322.  
  323.  1. 'cdmp' mit Angabe eines 'cdmp'-Datenfiles starten. > cdmp.rx datenfile
  324.  
  325.     Wenn die Datei existiert liest 'cdmp' das angegebene Datenfile ein und
  326.     zeigt die enthaltenen Daten an. Existiert die Datei nicht, wird ganz
  327.     normal weitergemacht als wäre 'cdmp' ohne Parameter gestartet worden
  328.     ->A.1.
  329.  
  330.  2. Anschliessend erfolgt die Abfrage ob mit diesen Daten weitergearbeitet
  331.     werden soll.
  332.  
  333.     - Hat man sich mit 'n' dagegen entschieden wird auch ganz normal
  334.       weitergemacht als wäre 'cdmp' ohne Parameter gestartet worden ->A.1.
  335.  
  336.     - bei 'j' .... ähh ja richtig, da geht's....
  337.  
  338.  3. ....hier weiter.
  339.     'cdmp' überprüft jetzt ob die richtige CD eingelegt ist. Sollte das
  340.     nicht der Fall sein fordert 'cdmp' zum Einlegen der entsprechenden CD
  341.     auf.
  342.  
  343.     Nach Bestätigen der Meldung mittels Returntaste geht's entweder weiter
  344.     (bei richtiger CD), oder das Spiel wiederholt sich solange bis die
  345.     komplette CD-Sammlung durchprobiert wurde.
  346.  
  347.     > muss ich das erklären? Nein, es sollte klar sein, dass nichts
  348.       vernünftiges dabei rauskommt, wenn ich ein Datenfile von einer
  349.       Bon Jovi-CD erzeuge und beim Bearbeiten eine Aminet-CD im Laufwerk
  350.       liegt.
  351.  
  352.     Anschliessend startet 'cdmp' durch und erzeugt dann ohne weitere
  353.     Unterbrechung die Audio- und falls gewünscht die mp3-files.
  354.  
  355.     Sobald das Datenfile bearbeitet ist, wird 'cdmp' beendet.
  356.  
  357.  
  358. C. Eine dritter und vorerst letzter Modi in dem 'cdmp' starten kann, ist der
  359.    sogenannte 'Recovery-mode'. Gerüchten zufolge soll ja auch der Amiga von
  360.    Zeit zu Zeit und völlig unerwartet, der reallen Welt entsagen, alles was
  361.    einem wichtig ist wegschmeissen und nach Indien verreisen.
  362.    Andere Rechner stürzen da nur ab. Sagt selbst, ist doch billig, oder. ;-)
  363.  
  364.    Jedenfalls erkennt 'cdmp' automatisch ob eine zuvor gestartete
  365.    Bearbeitung, aus welchem Grund auch immer, abgebrochen wurde. Grundlage
  366.    dafür ist die Datei 'titelliste' im Verzeichnis der Audio-Dateien. In
  367.    dieser Datei wird von 'cdmp' vermerkt welche Titel noch abzuarbeiten
  368.    sind. (->Utilities/Disksafe)
  369.  
  370.  
  371.  1. Findet 'cdmp' beim starten ohne Übergabe eines Datenfiles, die Datei
  372.     'titelliste' vor, wird automatisch davon ausgegangen das zuvor eine
  373.     Bearbeitung unterbrochen wurde. 'cdmp' lädt dann den Inhalt dieser
  374.     Datei, zeigt ihn an und bietet die Möglichkeit ab dem abgebrochenen
  375.     Titel weiterzuarbeiten.
  376.  
  377.     Der weitere Ablauf erfolgt dann wie unter B.2 ff beschrieben.
  378.      
  379.     > 2 Dinge sind hierbei wichtig.
  380.  
  381.       a. Will man während 'cdmp' gerade eine CD bearbeitet in einer anderen
  382.          Shell 'cdmp' nochmal starten, um z.B. die nächste CD vorzubereiten,
  383.          findet das neu gestartete Skript die 'titelliste' des gerade
  384.          aktiven Programms und schaltet jetzt fälschlicherweise in den
  385.          'recovery'-Modus.
  386.          Die folgende Abfrage ob mit diesen Daten weitergearbeitet
  387.          werden soll MUSS in diesem Fall mit 'n' beantwortet werden. 'cdmp'
  388.          ignoriert dann diese Datei und arbeitet normal weiter.
  389.  
  390.          Nicht besonders elegant, ich weiss. Wird sicher irgendwann
  391.          geändert, sobald ich a. Zeit und b. eine Idee habe, wie ich das
  392.          narrensicher umgehen kann.
  393.  
  394.          > Das gleichzeitige Bearbeiten mehrerer mp3-files mit 'cdmp' macht
  395.            zumindest auf einem 060 absolut keinen Sinn. Die Bearbeitungszeiten
  396.            werden astronomisch. Daher greifen alle gestarteten 'cdmp's auf
  397.            die selben Files zu (Audio,titeliste usw.). Aktiv verändert
  398.            werden diese Dateien ja sowieso nur vom arbeitenden Skript.
  399.            Es ist also nicht so das man es nicht hätte anders machen
  400.            können, sondern das es einfach unnötig ist getrennte Parameter
  401.            zu verwalten.
  402.  
  403.       b. 'titelliste' wird jedesmal überschrieben wenn 'cdmp' in den aktiven
  404.          Mode kommt, sprich sobald damit begonnen wird die Audiofiles
  405.          abzuspeichern. Daher muss ein Recovery unmittelbar nach dem Abbruch
  406.          erfolgen. Es ist also nicht möglich eine Bearbeitung abzubrechen, eine
  407.          andere CD zu bearbeiten und anschliessend die abgebrochene Sitzung an
  408.          der Stelle, an der sie unterbrochen wurde, weiterzuführen. Ausnahme:
  409.          Die reine Erzeugung eines Datenfiles verändert 'titelliste' nicht.
  410.  
  411.  
  412. Leadout:
  413. --------
  414.  
  415. Kommen wir zu einem weiteren 'Gimmick' von 'cdmp'. Am Ende nahezu aller
  416. Songs ist eine mehr oder weniger lange Pause. Ob diese Pause ausser der
  417. akustischen Trennung einen weiteren Grund hat weiss ich nicht, auf alle
  418. Fälle lässt sich damit wunderbar die Spielzeit einer CD strecken.
  419.  
  420. Für mp3-Files ist sie meines Erachtens nach völlig überflüssig. 'cdmp'
  421. erlaubt daher ein beliebig langes Stück vom Ende eines Titels abzuschneiden.
  422. Standardmässig werden etwa 2 Sekunden abgezogen. Dieser Standardwert lässt
  423. sich über ->Parameter anpassen.
  424.  
  425. Wem die 2s zu lange oder zu kurz sind kann bei der Eingabe der Titelnummer
  426. einen eigenen, nur für diesen einen Titel gültigen, Wert eingeben. (daher
  427. oben der Hinweis auf die 'versteckte' Eingabemöglichkeit)
  428.  
  429. Die Eingabe des Titel erfolgt dann in folgendem Format:
  430.  
  431. -Abzug(in Sekunden) Titel
  432.  
  433. Der Abzug kann dabei im Bereich von 0 für keinen Abzug bis beinahe zur max.
  434. Spielzeit des Titels liegen. 1 Block des Titels wird immer eingelesen, was
  435. etwa 13 Tausendstel Sekunden entspricht. (so sinnvoll das auch sein mag)
  436.  
  437. Wichtig dabei ist das '-' am Anfang der Eingabe und das Leerzeichen zwischen
  438. Abzug und Titel. Der Abzug selber kann als ganze Zahl, als Kommazahl oder
  439. mit Punkt eingegeben werden.
  440. Der Wert wird immer auf den nächsten ganzen Block gerundet. (also innerhalb
  441. von ca. 0,02s. Nein, ich hab's nicht nachgemessen)
  442.  
  443. Bsp.: -3 4     = Titel 4 mit 3s Abzug
  444.       -4,6 7   = Titel 7 mit 4,6s Abzug
  445.       -0.5 12  = Titel 12 mit 0,5s Abzug
  446.  
  447.  
  448. Fehlerbehandlung:
  449. -----------------
  450.  
  451. Ich habe ausser bei den Eingaben und dem Prüfen der CD, weitgehend auf eine
  452. Fehlerbehandlung verzichtet.
  453. Erstens wollte ich das Skript nicht unnötig verkomplizieren und aufblähen
  454. und zweitens kann eigentlich nicht allzuviel schiefgehen.
  455. Zu allgemeinen Fehlern, seien es Installationsfehler der benötigten Programme
  456. oder ein Disk full, gibt's von den beteiligten Programmen eh schon eine
  457. Fehlermeldung, da brauche ich nicht auch noch so was wie 'Es ist ein Fehler
  458. aufgetreten. Das Skript wird abgebrochen!' zu bringen.
  459. Zudem bietet der Recovery-Mode ja meist die Möglichkeit die unterbrochene
  460. Arbeit weiterzuführen.
  461.  
  462. Der einzige 'Fehler' der wirklich öfter auftreten kann ist ein blockiertes
  463. Device, so dass 'cdda' das Inhaltsverzeichnis der CD nicht einlesen kann.
  464. Und da in diesem Fall keine Titel ausgewählt werden können wird 'cdmp'
  465. gleich wieder beendet.
  466.  
  467.  
  468. Utilites:
  469. ---------
  470.  
  471. An dieser Stelle erlaube ich mir auf ein paar Hilfsprogrämmchen hinzuweisen
  472. deren Unterstützung ich mittlerweile nicht mehr missen will und die im
  473. Hinblick auf die Arbeit mit 'cdmp', dem einen oder anderen mal einen Blick
  474. wert sein könnten.
  475. Das soll nun nicht heissen dass es nicht noch andere Programme gibt die
  476. Gleiches oder Ähnliches können (vielleicht sogar besser). Es sind aber die
  477. Programme die ich nutze und bei denen ich auf meinem System keinerlei
  478. Probleme in der Zusammenarbeit mit anderen Programmen feststellen konnte.
  479.  
  480. Alle Rechte an den Programmen liegen natürlich nach wie vor bei den
  481. jeweiligen Autoren.
  482.  
  483. Assignwedge: © Olaf Barthel - ermöglicht beim Auftreten unbekannter Assigns
  484.              bequem per Requester auszuwählen was geschehen soll. (zuweisen,
  485.              abbrechen usw.)
  486.  
  487. Disksafe:    © Thomas Richter - beendet recht zuverlässig (zumindestens bei
  488.              mir) Schreibzugriffe vor einem (Software)Reset und verhindert
  489.              so meistens das Partitionen nicht validiert oder Dateien
  490.              komplett zerstört sind.
  491.  
  492. SongPlayer:  © Stéphane Tavenard - spielt so ziemlich alles was irgendwie
  493.              Krach macht (auch mp3 wenn die mpega.library installiert ist),
  494.              und blockiert vor allem audio.device und CD-Rom nur dann wenn
  495.              er auch einen Titel abspielt.
  496.  
  497.  
  498. Parameter:
  499. ----------
  500.  
  501. Kommen wir zur Zusammenfassung der Parameter. Diese befinden sich alle
  502. am Skriptanfang und können mit jedem beliebigen Texteditor der ASCII-Dateien
  503. erzeugen kann, angepasst werden. Textverarbeitungen sind normallerweise nicht
  504. geeignet da sie den Text auf die Papiergrösse umbrechen und dadurch den
  505. Programmcode zerstören.
  506.  
  507. Am Zeilenanfang steht immer der Parametername der NICHT verändert werden darf.
  508. Hinter dem Gleichheitszeichen steht dann der aktuelle Parameterwert. Richtig,
  509. dieser darf,kann,sollte verändert werden.
  510.  
  511. Wichtig dabei ist: Wo Anführungszeichen dran sind, müssen sie auch dran bleiben.
  512. (und nicht das jetzt ein Schlaumeier die Parameter hier ändert. Die müssen
  513.  natürlich in cdmp.rx geändert werden.) #-)
  514.  
  515.  
  516. /******* Globale Parameter Variablen *******/
  517.  
  518. titelpfad   = "CD-A:"
  519.  
  520. > Pfad zum speichern der tracks und sonstiger datenfiles, MUSS mit : oder /
  521.   enden.
  522.   Hier werden alle Audio-files, die abgespeicherten Datenfiles und die
  523.   'titelliste' abgelegt.
  524.  
  525.  
  526. mp3pfad     = "MP3:"
  527.  
  528. > Pfad zum speichern der mp3-files, MUSS mit : oder / enden.
  529.   Hier werden die erzeugten mp3-files abgelegt.
  530.  
  531.  
  532. cdid_dir     = "CDID:"
  533.  
  534. > Pfad zu den CDID's
  535.   Das Verzeichnis in dem die CDID-Dateien gesucht werden. Auch diese
  536.   Pfadangabe MUSS mit : oder / enden. Sollte man nicht im Besitz von
  537.   CDID-Dateien sein, diesen Parameter irgendeinem beliebigen Verzeichnis
  538.   zuweisen (am sinnvollsten RAM:).
  539.  
  540.  
  541. titellist   = "titelliste"
  542.  
  543. > Dateiname zum abspeichern der eingegeben Titel, wird für Restore benutzt.
  544.   Nach Möglichkeit sollte der Name so bleiben, aber wer unbedingt will kann
  545.   ihn ändern. Diese Dokumentation geht natürlich von 'titelliste' aus.
  546.  
  547.  
  548. cdlist      = "ram:cdliste"
  549.  
  550. > Dateiname der Titelliste von cdda, wird nur temporär zum einlesen
  551.   verwendet.
  552.   Diese Datei wird mit 'cdda' beim Einlesen der CD erzeugt und enthält deren
  553.   Inhaltsverzeichnis. Es ist prinzipiell egal wo sie gespeichert wird und
  554.   wie sie heisst. Sobald 'cdmp' das Inhaltsverzeichnis anzeigt wird sie
  555.   nicht mehr benötigt und daher gelöscht.
  556.  
  557.  
  558. mp_ext       = ".mp3"
  559.  
  560. > Extension für mp3-Dateien
  561.   Die Extension die an alle erzeugten mp3-Files angehängt wird. Der Punkt
  562.   sollte bleiben (sonst ist es ja keine Extension ;-) ). Die länge der
  563.   Extension ist prinzipiell egal, darf aber natürlich nicht länger als
  564.   max_name_len - 1 sein. Eine Kontrolle findet aber nicht statt.
  565.  
  566.  
  567. cdsave       = "CDsave"
  568. > Default Name der für spätere Bearbeitung abgespeicherten 'Arbeitspläne'
  569.   Dieser Name wird nur bei CD's ohne CDID verwendet wenn vom Anwender bei der
  570.   Abfrage kein Name eingegeben wird.
  571.  
  572.  
  573. plan        = "e"
  574.  
  575. > cdda-Modus e=atapi
  576.   Dieser Parameter legt den Modus fest mit dem 'cdda' auf das CD-Laufwerk
  577.   zugreift und MUSS richtig eingegeben sein. Dies muss man eventuell
  578.   ausprobieren indem man in einer Shell den Befehl 'cdda plan=(a,b,c,d,e,f)
  579.   list' eingibt. Natürlich immer nur einen Plan Parameter nach dem anderen.
  580.   Solange bis keine Fehlermeldung mehr auftritt und cdda das
  581.   Inhaltsverzeichnis der CD auflistet.
  582.  
  583.   Auszug aus der 'cdda'-Anleitung:
  584.   > 'a' is for Sony CDU 8003 and compatible
  585.   > 'b' is for Toshiba XM3401TA and compatible
  586.   > 'c' is for NEC 2X and 3X
  587.   > 'd' is for some Grundig CD-ROMs, may work on Toshiba drives
  588.   > 'e' is for ATAPI (standard command)
  589.   > 'f' is for ATAPI (pre-standard command, never seen such a drive)
  590.  
  591.  
  592. list_win     = 0
  593. > CD-Inhaltsverzeichnis in einem eigenen Fenster anzeigen? 0=nein 1=ja
  594.   Standardmässig wird das eingelesene CD-Inhaltsverzeichnis in dem Shell-Fenster
  595.   dargestellt in dem auch alle anderen Ein-Ausgaben angezeigt werden. Dies hat
  596.   den Nachteil das diese Anzeige jedesmal bei neuem Text eine Zeile nach oben
  597.   geschoben wird und irgendwann aus dem Anzeigebereich des Fensters rutscht.
  598.   Wird dieser Parameter auf 1 gesetzt wird das Inhaltsverzeichnis in einem
  599.   eigenen, der Grösse des Verzeichnisses angepassten, Fenster angezeigt.
  600.   Ein kleines Problem gibt es dabei. Durch das Öffnen des neuen Fensters wird
  601.   dieses als Standardeingabefensters aktiviert, dadurch muss zur Eingabe der
  602.   Titel erst wieder das alte Fenster angeklickt werden, da ansonsten sie
  603.   Eingaben im falschen Fenster landen. Ausprobieren was einem besser gefällt.
  604.  
  605.  
  606. lw_xs        = 150
  607. > linke obere Ecke des CD-Inhaltsverzeichnis Fensters
  608.   Horizontale (x) Startposition in Pixeln
  609.  
  610.  
  611. lw_ys        = 10
  612. > linke obere Ecke des CD-Inhaltsverzeichnis Fensters,
  613.   Vertikale (y) Startposition in Pixeln
  614.  
  615.  
  616. lw_fw       = 9
  617. > Breite des verwendeten Shell Fonts +1 (topaz 8=9, 11=9)
  618.   Mit diesem und dem folgenden Parameter werden Breite und Höhe des
  619.   Inhaltsfensters abhängig von der Zeilenlänge und der Titelanzahl berechnet.
  620.   Die Werte sind dabei nicht allzu kritisch und sollten einfach so eingegeben
  621.   werden, dass das Inhaltsverzeichnis komplett, ohne getrennte Zeilen
  622.   dargestellt werden kann ohne das der ganze Bildschirm zugepflastert ist.
  623.   Bei Proportionalfonts kann es trotzdem mal vorkommen dass das Fenster nicht
  624.   passt. Aber man kann es ja manuell grösser ziehen.
  625.  
  626.  
  627. lw_fh       = 12
  628. > Höhe des verwendeten Shell Fonts +1 (topaz 8=9, 11=12)
  629.   s.o.
  630.  
  631.  
  632. encoder      = "lame"
  633. > gewünschter encoder, "lame" oder "pegase"
  634.   Bitte den Namen des zu verwendenden Encoders eingeben. ACHTUNG, in
  635.   KLEINBUCHSTABEN.
  636.   Bitte auch an den entsprechenden Optionsparamter denken.
  637.   Dies ist nicht der Programmname, diese müssen auf alle Fälle 'lame' bzw.
  638.   'pegase' lauten. (Wobei die Schreibweise hier egal ist)
  639.  
  640.  
  641. lameopt     = "-b 160"
  642.  
  643. > Parameteroptionen für lame.
  644.   Dies ist der optionstring der an Lame übergeben wird und festlegt in
  645.   welchem Mode die mp3-files erzeugt werden. Genaueres hierzu falls nötig
  646.   bitte in der lame-Anleitung nachlesen. Das ist doch zu umfangreich um es
  647.   hier nochmals darzustellen.
  648.  
  649.  
  650. pegaseopt    = "LAYER 2 BITRATE 160"
  651. > Parameteroptionen für Pegase
  652.   Dies ist der optionstring der an Pegase übergeben wird und festlegt in
  653.   welchem Mode die mp3-files erzeugt werden. Auch hierzu falls nötig
  654.   bitte in der Pegase-Anleitung nachlesen.
  655.  
  656.  
  657. lame_ppc     = 0
  658. > PPC-Version von Lame im Einsatz? 0=nein 1=ja
  659.   Ist klar, oder? 68k Anwender lassen 0 stehen, PPC Anwender geben 1 ein (es
  660.   sei denn sie wollen mal lachen) ;-)
  661.  
  662.  
  663. ppc_stack    = 200000
  664. > Stackwert für PPC-Lame
  665.   Da die PPC Version von Lame, im Gegensatz zur 68k Version, die Grösse des
  666.   Stack nicht ändern kann, aber recht üppig davon braucht, kann ein
  667.   entsprechender Wert hier eingeben werden. Die 200000 Byte sollten aber
  668.   eigentlich ausreichen. Wenn Lame trotzdem abstürzt kann man testen ob's mit
  669.   mehr Stackspeicher läuft.
  670.  
  671.  
  672. debug       = 0
  673.  
  674. > Debugmode und -anzeige 0=nein 1=ja.
  675.   Ist für den Anwender eigentlich uninteressant. Im Debugmode wird die
  676.   Erzeugung von Audio und mp3 files nur simuliert und zusätzliche
  677.   Kontrollmeldungen ausgegeben
  678.  
  679.  
  680. del_titel   = 1
  681.  
  682. > CD-Titel nach Konvertierung löschen 0=nein 1=ja.
  683.   Hiermit wird festgelegt ob die abgespeicherten Audiofiles nach dem Erzeugen
  684.   der mp3-Dateien gelöscht werden oder ob sie auf der Festplatte gespeichert
  685.   bleiben.
  686.  
  687.  
  688. bpb         = 2352
  689.  
  690. > Bytes per Block
  691.   Über diesen Wert errechnet sich 'cdmp' aus der Blockanzahl die ungefähre
  692.   Dateilänge. Wenn der angezeigte Wert so gar nicht stimmt kann man diesen
  693.   Faktor nach der Formel Festplatten-Dateigrösse (in Byte) / Blockanzahl
  694.   anpassen. Die Blockanzahl ist die Anzahl der benutzten CD-Blocks, und die
  695.   erhält man entweder im Debug-Mode oder mit 'cdda plan=(siehe oben) list'.
  696.   Man beachte bitte, der angezeigte Wert ist in MB = Megabyte also 1024*1024
  697.   Byte. 40MB sind also 41943040 Bytes.
  698.  
  699.  
  700. skip_lo     = 150
  701.  
  702. > Anzahl der Blocks die vom Leadout abgezogen werden. 1s ca. 75 Blocks (150
  703.   sind also 2s).
  704.   Dies sind die angesprochenen 2 Sekunden die vom Leadout jedes Titels
  705.   automatisch abgezogen werden. (wenn kein anderer Abzug eingegeben wird.)
  706.   1 Block hat wie erwähnt die Länge von ca. 13,3 Tausendstel Sekunden.
  707.   1 Sekunde sind also etwa 75 Blocks
  708.  
  709.  
  710. repl_spc    = 1
  711.  
  712. > Bei Eingabe der CD-Titelnamen Leerzeichen durch '_' ersetzen 0=nein 1=ja.
  713.   Hiermit wird entschieden ob in den eingegebenen Dateinamen die Leerzeichen
  714.   duch Unterstriche ersetzt werden sollen.
  715.  
  716.  
  717. max_name_len = 30
  718.  
  719. > max. Dateinamenlänge ffs=30 Zeichen
  720.   Und hier wird die maximale Dateinamenlänge festgelegt. Dies ist vom
  721.   verwendeten Filesystem abhängig. Bei dem von mir verwendeten
  722.   FastFileSystem sind es 30 Zeichen.
  723.  
  724.  
  725. dirty_char  = '~%#?<>|()[]":'
  726.  
  727. > ungültige Zeichen die bei der Namenseingabe ersetzt werden müssen.
  728.   Dies sind die (mir bekannten) Zeichen die bei Dateinamen des Amigas nicht
  729.   verwendet werden dürfen und durch Unterstrich ersetzt werden. Wenn ich
  730.   mich geirrt habe, Zeichen vergessen wurden, sich das alles irgendwann
  731.   ändert oder falls einfach irgendjemand einen Buchstaben besonders hasst,
  732.   kann das Zeichen hier ergänzt oder entfernt werden. Da das
  733.   Anführungszeichen auch zu den unerlaubten Zeichen gehört, werden diesmal
  734.   die Zeichen mit '' begrenzt!
  735.  
  736.  
  737. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  738.